package com.aos.erp.schools.model.gatherschool.ro;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * <p>
 * 驾校信息表
 * </p>
 *
 * @author ywb
 * @since 2018-11-02
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_drivers_school")
public class GatherSchoolRo implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * 类别  （1：直营总校  2：非直营总校  3:分校 4：报名点）
     */
    @NotNull(message = "类别不能为空")
    @ApiModelProperty(value = "类别  （1：直营总校  2：非直营总校  3:分校 4：报名点）", required = true, dataType = "int")
    @Max(4)
    @Min(1)
    private Integer type;
    /**
     * 父级驾校ID
     */
    @TableField("parent_id")
    @ApiModelProperty(value = "父级驾校ID", dataType = "long")
    private Long parentId;
    /**
     * 分所ID
     */
    @NotNull(message = "车管所不能为空")
    @ApiModelProperty(value = "车管所ID", required = true, dataType = "long")
    @TableField("division_id")
    private Long divisionId;
    /**
     * 企业名称
     */
    @Size(max=50,min=1,message="驾校名称汉字+字母+数字，50字符内！")
    @ApiModelProperty(value = "驾校名称", required = true, dataType = "String")
    @NotNull(message = "驾校名称不能为空")
    private String name;

    /**
     * 驾校代码
     */
    @Size(max=10,message="驾校代码10字符内！")
    @ApiModelProperty(value = "驾校代码", required = true, dataType = "String")
    @NotNull(message = "驾校代码不能为空")
    private String code;

    /**
     * 省ID
     */
    @NotNull(message = "省不能为空")
    @ApiModelProperty(value = "省ID", required = true, dataType = "long")
    @TableField("province_id")
    private Long provinceId;
    /**
     * 市ID
     */
    @NotNull(message = "市不能为空")
    @ApiModelProperty(value = "市ID", required = true, dataType = "long")
    @TableField("city_id")
    private Long cityId;
    /**
     * 区县ID
     */
    @NotNull(message = "区不能为空")
    @ApiModelProperty(value = "区县ID", required = true, dataType = "long")
    @TableField("area_id")
    private Long areaId;
    /**
     * 详细地址
     */
    @NotNull(message = "详细地址不能为空")
    @ApiModelProperty(value = "详细地址", required = true, dataType = "String")
    private String address;
    /**
     * 经度
     */
    @NotNull(message = "经度不能为空")
    @ApiModelProperty(value = "经度", required = true, dataType = "String")
    private String longitude;
    /**
     * 纬度
     */
    @NotNull(message = "纬度不能为空")
    @ApiModelProperty(value = "纬度", required = true, dataType = "String")
    private String latitude;
    /**
     * 联系人
     */
    @NotNull(message = "联系人不能为空")
    @ApiModelProperty(value = "联系人", required = true, dataType = "String")
    private String contacts;
    /**
     * 手机号
     */
    @NotNull(message = "手机号不能为空")
    @ApiModelProperty(value = "手机号", required = true, dataType = "String")
   // @Pattern(regexp = "^1(3|4|5|6|7|8|9)\\d{9}$")
    private String  mobile;

    /**
     * 当前登录用户
     */
   // @NotNull(message = "创建不能为空")
    @ApiModelProperty(value = "当前登录用户", dataType = "String",hidden = true)
    private String  currentUserId;

	/**
	 * 图片数组
	 *//*
	@ApiModelProperty(value = "图片数组", dataType = "long[]")
	private long[] pics;*/


    /**
     * 图片数组
     */
    //@NotNull(message = "图片数组不能为空")
    @ApiModelProperty(value = "图片数组", dataType = "long[]")
    private String pics;


    /**
     * USBKEY
     */
    @ApiModelProperty(value = "USBKEY", dataType = "String")
    private String  usbKey;


    @Override
    public String toString() {
        return "GatherListVo{" +
                ", type=" + type +
                ", parentId=" + parentId +
                ", divisionId=" + divisionId +
                ", name='" + name + '\'' +
                ", code='" + code + '\'' +
                ", provinceId=" + provinceId +
                ", cityId=" + cityId +
                ", areaId=" + areaId +
                ", address='" + address + '\'' +
                ", longitude='" + longitude + '\'' +
                ", latitude='" + latitude + '\'' +
                ", contacts='" + contacts + '\'' +
                ", mobile='" + mobile + '\'' +
                '}';
    }
}
